package br.com.edoc.controller.listagem;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.edoc.entidade.UF;
import br.com.edoc.excecoes.ExceptionApplication;
import br.com.edoc.gerentes.GerenteCadastro;

@ManagedBean(name="listagemUF")
@SessionScoped
public class ListagemUFController extends ListagemPadraoController{

	/**
	 * 
	 */
	private static final long serialVersionUID = 2584823551933700362L;
	
	private List<UF> lista;
	
	public void entidadeSelecionada(){
		getOuvinteSelecao().selecaoFeita(getQuery());		
	}

	@Override
	public String getNome() {
		// TODO Auto-generated method stub
		return "listagemUF";
	}

	@Override
	public void acaoPesquisar() {
		// TODO Auto-generated method stub
		((UF)getQuery()).getDescricao();
		setLista(null);
	}

	public List<UF> getLista() {
		if(lista == null ){
			GerenteCadastro gc = getAtendente().chamaGerenteCadastro();
			try {
				setLista(gc.obterListaEntidade(UF.class,getQuery(),"descricao",200));
			} catch (ExceptionApplication e) {
				// TODO Auto-generated catch block
				addErroMessage(e.getMessage());
				setLista(new ArrayList<UF>());
			}
		}
		return lista;
	}

	public void setLista(List<UF> lista) {
		this.lista = lista;
	}

}
